/**
 * 绘制圆形功能demo案例
 */


import * as EasyCesium from "@xhymf1992/easy-cesium";

export function drawCircleFunction() {

    let options = {
        circleName: "draw-circle", // 绘制的圆形名称，可选，默认为空
        circleColor: "rgba(255,0,255,0.5)", // 绘制的圆形的颜色，可选，默认为rgba(0,0,255,0.5)
        circleHeightReference: 5, // 圆形的高程类型：0-海拔；1-贴在地表或3dtiles；2-相对于地表或3dtiles；3-贴在地表；4-相对于地表；5-贴在3dtiles；6-相对于3dtiles。默认为0
        
        pointColor: "rgba(0,255,255,1)", // 绘制圆形时的点的颜色，可选，默认为rgba(0,255,0,1)
        pointSize: 5, // 绘制圆形时的点的大小，可选，默认为10
    
        radiusShow: true, // 是否显示半径，可选，默认为false
        radiusUnit: "meter", // 半径单位：meter: 米; kilometer: 千米，可选，默认为meter
        radiusPrecision: 4, // 半径保留小数位数，可选，默认为2
        radiusTextScale: 1.2, // 半径文本缩放大小，可选，默认为1
        radiusTextColor: "rgba(255,0,0,1)", // 半径文本的颜色，可选，默认为白色
        radiusTextDisableDepthTestDistance: 1000, // 半径本文深度检测最小距离(m)，视角离文本的距离小于此值时关闭深度检测，可防止遮挡，可选，默认为1e6

        viewer: window.viewer // cesium视图对象，必填
    };

    /**
    * 操做说明：
    * 单击左键：第一次点击为创建圆心点（确定圆心），第二次点击为创建圆弧上的点（确定半径）
    * 移动鼠标：圆心确定，圆弧上的点未确定时，实时绘制鼠标所在点与圆心构成的圆，其他情况无响应
    * ctrl+z：取消新创建的点
    */

    // @ts-ignore
    window.func = new EasyCesium.FunctionDrawCircle(options);
    // @ts-ignore
    window.func.init();

    // // 获取地心坐标系的圆心坐标
    // console.log(window.func.getCircleCenterPosition());

    // // 获取经纬度格式的圆心坐标
    // console.log(window.func.getCircleCenterPositionCarto());

    // // 获取半径
    // console.log(window.func.getCircleRadius());

    // // 销毁func
    // window.func.destroy();
    // window.func = undefined;

}